å¹ççã§ã¹ã±ãŒã©ãã«ããã€ã¡ã³ããã³ã¹å¯èœãªã¹ã¿ã€ã«ã·ãŒãã®ããã«ãCSS @layer anonymous ããã¹ã¿ãŒããŸããããæ¹åãããç¹ç°æ§å¶åŸ¡ãšã°ããŒãã«ãããžã§ã¯ãã¢ãŒããã¯ãã£ã®ããã«ãç¡åã®CSSã¬ã€ã€ãŒãäœæããã³ç®¡çããæ¹æ³ãåŠã³ãŸãã
CSS @layer Anonymous: ã°ããŒãã«éçºè åãã®ç¡åã¬ã€ã€ãŒã®äœæãšç®¡ç
ããã³ããšã³ãéçºã®çµ¶ãéãªãé²åã®äžã§ãCSSã®ç¹ç°æ§ã管çããã¡ã³ããã³ã¹å¯èœãªã¹ã¿ã€ã«ã·ãŒãã確ä¿ããããšã¯ãç¹ã«å€æ§ãªããŒã ãšè€éãªã¢ãŒããã¯ãã£ãå«ãã°ããŒãã«ãããžã§ã¯ãã«ãšã£ãŠæãéèŠã§ãã@layerã«ãŒã«ã§å°å
¥ãããCSSã«ã¹ã±ãŒãã¬ã€ã€ãŒã¯ãã«ã¹ã±ãŒãã«ç§©åºãããããããã®åŒ·åãªã¡ã«ããºã ãæäŸããŸããååä»ãã¬ã€ã€ãŒã¯ããçè§£ãããŠããŸãããå¿åCSSã¬ã€ã€ãŒã®æŠå¿µãšé©çšã¯ãå
ç¢ãªCSSã¢ãŒããã¯ãã£ã«ãšã£ãŠãåæ§ã«éèŠã§ãããã®å
æ¬çãªã¬ã€ãã§ã¯ããããã®ç¡åã¬ã€ã€ãŒã®äœæãšç®¡çã«ã€ããŠæãäžããäžçäžã®éçºè
åãã®æŽå¯ãšå®è·µçãªäŸãæäŸããŸãã
CSSã«ã¹ã±ãŒãã¬ã€ã€ãŒã®çè§£
å¿åã¬ã€ã€ãŒã«å
¥ãåã«ãCSSã«ã¹ã±ãŒãã¬ã€ã€ãŒã®åºæ¬çãªæŠå¿µãææ¡ããããšãäžå¯æ¬ ã§ãã@layerã«ãŒã«ã䜿çšãããšãéçºè
ã¯CSSã®ã¬ã€ã€ãŒãæç€ºçã«å®çŸ©ããã¹ã¿ã€ã«ãé©çšããã³è§£æ±ºãããé åºãæå®ã§ããŸããããã«ããããœãŒã¹ã®é åºãç¹ç°æ§ãéèŠæ§ã®ã¿ã«åºã¥ããåŸæ¥ã®ãå€ãã®å Žåäºæž¬äžå¯èœãªã«ã¹ã±ãŒããåé¿ã§ããŸãã
ã«ã¹ã±ãŒãã¬ã€ã€ãŒã®äž»ãªå©ç¹ã¯ãã«ã¹ã±ãŒãã«å¯Ÿããå¶åŸ¡ãæ¹åãããããšã§ããããã«ãããéçºè ã¯é¢é£ããã¹ã¿ã€ã«ãã°ã«ãŒãåããåªå é äœãå¶åŸ¡ã§ãããããæ¬¡ã®ããšã容æã«ãªããŸãã
- ã¹ã¿ã€ã«ã®åé¢ïŒã³ã³ããŒãã³ãããã¬ãŒã ã¯ãŒã¯ããŸãã¯ããŒããç¬èªã®ã¬ã€ã€ãŒã«é 眮ããŠãã¹ã¿ã€ã«ã®ç«¶åãé²ãããšãã§ããŸãã
- ãªãŒããŒã©ã€ãã®ç®¡çïŒç°ãªããœãŒã¹ããã®ã¹ã¿ã€ã«ãã©ã®ããã«çžäºäœçšããäºãã«ãªãŒããŒã©ã€ãããããæç€ºçã«å®çŸ©ããŸãã
- ã¡ã³ããã³ã¹æ§ã®åäžïŒå€§ããªã¹ã¿ã€ã«ã·ãŒããããå°ããã管çããããåäœã«åå²ããŸãã
- äºæž¬å¯èœæ§ã®åäžïŒé床ã«å
·äœçãªã»ã¬ã¯ã¿ãŒãŸãã¯
!importantãã©ã°ãžã®äŸåãæžãããŸãã
ååä»ãã¬ã€ã€ãŒãšå¿åã¬ã€ã€ãŒ
@layerã«ãŒã«ã¯ãäž»ã«æ¬¡ã®2ã€ã®æ¹æ³ã§äœ¿çšã§ããŸãã
- ååä»ãã¬ã€ã€ãŒïŒãããã®ã¬ã€ã€ãŒã¯ã
@layer components;ã@layer theme.buttons;ã®ããã«ãååãä»ããŠæç€ºçã«å®£èšãããŸããååä»ãã¬ã€ã€ãŒã¯ãæç¢ºãªèå¥ãæäŸããã³ã³ããŒãã³ãããŠãŒãã£ãªãã£ããã¶ã€ã³ããŒã¯ã³ãªã©ãç¹å®ã®ã¹ã¿ã€ã«ã®ã»ãããæŽçããã®ã«çæ³çã§ãããããã¯åŒ·åãªçµç¹æ§é ãæäŸããéçºè ãããŸããŸãªã¹ã¿ã€ã«ã®ã»ããã®èµ·æºãšç®çãçè§£ããããããŸããããšãã°ãã°ããŒãã«ãã¶ã€ã³ã·ã¹ãã ã§ã¯ãCSSãæ§é åããããã«@layer base, theme, components, utilities;ã®ãããªã¬ã€ã€ãŒãå®çŸ©ããå ŽåããããŸãã - å¿åã¬ã€ã€ãŒïŒãããã®ã¬ã€ã€ãŒã¯ãååãæå®ããã«
@layerã䜿çšãããå Žåãå€ãã®å ŽåCSSã®ãããã¯å ã§æé»çã«äœæãããŸããããšãã°ã@layer { /* styles here */ }ããååã®ãªã@layerã¹ããŒãã¡ã³ãã®çŽåŸã«ç¶ãã¹ã¿ã€ã«ãªã©ã§ããå¿åã¬ã€ã€ãŒã¯ãæ¬è³ªçã«ååã®ãªããé æ¬¡ã¬ã€ã€ãŒã§ããã衚瀺ãããé åºã§ã«ã¹ã±ãŒãã«å¯äžããŸãããããã¯ãåã°ã«ãŒãã«ç¹å®ã®èå¥åãå²ãåœãŠãå¿ èŠãªããã¹ã¿ã€ã«ã®è©³çްãªé 次é åºãäœæããã®ã«ç¹ã«åœ¹ç«ã¡ãŸãã
å¿åã¬ã€ã€ãŒã®ä»çµã¿
å¿åã¬ã€ã€ãŒã¯ãå
è¡ããèå¥åãªãã§@layerã«ãŒã«ã«ãã£ãŠå®çŸ©ãããŸãããã©ãŠã¶ã@layerã«ç¶ããŠã¹ã¿ã€ã«ã®ãããã¯ïŒãŸãã¯éãäžæ¬åŒ§ãªãã§ã¹ã¿ã€ã«ãçŽæ¥å
è¡ïŒãæ€åºãããšãå¿åã¬ã€ã€ãŒãäœæãããŸãããããã®ã¬ã€ã€ãŒã¯ãã¹ã¿ã€ã«ã·ãŒãã§æ€åºãããé åºã§åŠçãããŸãã
次ã®CSSæ§é ãæ€èšããŠãã ããã
/* Layer 1: Base styles */
@layer {
body {
font-family: sans-serif;
margin: 0;
}
}
/* Layer 2: Layout */
@layer {
.container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
}
/* Layer 3: Component styles */
@layer {
.button {
padding: 10px 20px;
border: none;
cursor: pointer;
}
}
ãã®äŸã§ã¯ïŒ
- æåã®
@layerãããã¯ã¯ãbodyã®åºæ¬ã¹ã¿ã€ã«ãå«ãå¿åã¬ã€ã€ãŒãå®çŸ©ããŸãã - 2çªç®ã®
@layerãããã¯ã¯ãã¬ã€ã¢ãŠãã¹ã¿ã€ã«ã®å¥ã®å¿åã¬ã€ã€ãŒãäœæããŸãã - 3çªç®ã®
@layerãããã¯ã¯ããã¿ã³ã³ã³ããŒãã³ãã¹ã¿ã€ã«ã®3çªç®ã®å¿åã¬ã€ã€ãŒãå°å ¥ããŸãã
ãããã®ã¬ã€ã€ãŒã®é åºã¯ãåªå é äœã決å®ããŸããæåã®ã¬ã€ã€ãŒå ã®ã¹ã¿ã€ã«ãæåã«é©çšãããæ¬¡ã«2çªç®ã®ã¬ã€ã€ãŒããããŠ3çªç®ã®ã¬ã€ã€ãŒã®ã¹ã¿ã€ã«ãé©çšãããŸããç«¶åãããå ŽåïŒããšãã°ãè€æ°ã®ã¬ã€ã€ãŒã§åãç¹ç°æ§ãæã€ã»ã¬ã¯ã¿ãŒãå®çŸ©ãããŠããå ŽåïŒãåŸã®ã¬ã€ã€ãŒã®ã¹ã¿ã€ã«ãåªå ãããŸãã
åäžãã¡ã€ã«å ã®å¿åã¬ã€ã€ãŒ
å¿åã¬ã€ã€ãŒã¯ãåäžã®CSSãã¡ã€ã«å ã§é£ç¶ããŠå®çŸ©ããããšãã§ããŸãããã©ãŠã¶ã¯ãããã衚瀺ãããé åºã§åŠçããäºå®äžãååã®ãªãã¹ã¿ã€ã«ã°ã«ãŒãã®ã«ã¹ã±ãŒããäœæããŸãã
@layer {
/* Styles with higher precedence */
h1 {
color: #333;
font-size: 2.5em;
}
}
@layer {
/* Styles with lower precedence */
p {
color: #666;
line-height: 1.6;
}
}
ãã®ã·ããªãªã§ã¯ãh1ã¹ã¿ã€ã«ã¯ãpã¹ã¿ã€ã«ãããã«ã¹ã±ãŒãåªå
床ãé«ããªããŸããããã¯ãå¿åã¬ã€ã€ãŒãæåã«å®£èšãããŠããããã§ããããã¯ãååãä»ããå¿
èŠãªããããŸããŸãªã¹ã¿ã€ã«ã°ã«ãŒãã®çžå¯Ÿçãªåªå
é äœãå¶åŸ¡ããç°¡åã§ãããªãã广çãªæ¹æ³ã§ãã
ååã®ãªã@layer` ã®åœ¹å²
å¿åã¬ã€ã€ãŒãå°å
¥ããäžè¬çãªæ¹æ³ã¯ãç¹å®ã®ååãªãã§ã@layerã®çŽåŸã«ã¹ã¿ã€ã«ã«ãŒã«ãç¶ããããšã§ããããã«ãããæ°ããååã®ãªãã¬ã€ã€ãŒãæé»çã«éå§ãããŸããå¥ã®@layerã«ãŒã«ãªãã§ããã®çŽåŸã«å®£èšãããåŸç¶ã®ã¹ã¿ã€ã«ãããã®åãå¿åã¬ã€ã€ãŒã«å±ããŸãã
/* Anonymous Layer 1 starts here */
@layer {
body {
background-color: #f4f4f4;
}
}
/* Anonymous Layer 2 starts here */
@layer {
.card {
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
border-radius: 8px;
}
}
ãã®ã¢ãããŒãã¯ãç°ãªãã¹ã¿ã€ã«ã°ã«ãŒããæç¢ºã«åºåããé æ¬¡ã¬ã€ã€ãŒã«åå²ããããšã§ãã«ã¹ã±ãŒã管çãç°¡çŽ åããŸãã
ã°ããŒãã«ãããžã§ã¯ãã§ã®å¿åã¬ã€ã€ãŒã®ç®¡ç
å€§èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã«åãçµãåœéããŒã ã«ãšã£ãŠãCSSã广çã«ç®¡çããããšã¯éåžžã«éèŠã§ããå¿åã¬ã€ã€ãŒã¯åŒ·åãªããŒã«ã«ãªããŸãããæ··ä¹±ãæãã®ãé¿ããããã«æ éãªæ€èšãå¿ èŠã§ãã
å¿åã¬ã€ã€ãŒã䜿çšããå ŽåïŒ
- å éšãããžã§ã¯ãæ§é ïŒåäžã®ã³ã³ããŒãã³ãã®ã¹ã¿ã€ã«ã·ãŒãå ããŸãã¯å¯æ¥ã«é¢é£ããã¹ã¿ã€ã«ã®ã»ããå ã§ãæç€ºçãªåœåãäžå¿ èŠãªãªãŒããŒãããã远å ããå Žåã
- é æ¬¡åªå é äœïŒåã ã®ååãå¿ èŠãšããªãããŸããŸãªã¹ã¿ã€ã«ã®ã»ããã«ãæç¢ºã§é åºä»ããããåªå é äœã確ç«ãããããããšãã°ãåºæ¬ã¬ã€ã€ãŒããŠãŒãã£ãªãã£ã¬ã€ã€ãŒãããŒãã¬ã€ã€ãŒã®é ã«ãæç€ºçãªååãªãã§å®çŸ©ãããŸãã
- ãªãŒããŒã©ã€ãã®ç°¡çŽ åïŒç¹å®ã®ã¹ã¿ã€ã«ãåžžã«ä»ã®ã¹ã¿ã€ã«ããªãŒããŒã©ã€ãããããã«ããããã«ãé«ãç¹ç°æ§ã
!importantã«é Œãããšãªãã
æœåšçãªèœãšã穎ãšãã¹ããã©ã¯ãã£ã¹ïŒ
- èªã¿ããããšã¡ã³ããã³ã¹æ§ïŒå¿åã¬ã€ã€ãŒã¯æ§æãç°¡çŽ åããŸãããæç¢ºãªå éšæ§é ãªãã«é床ã«äœ¿çšãããšãã¹ã¿ã€ã«ã·ãŒãã®çè§£ãé£ãããªãå¯èœæ§ããããŸããã³ã¡ã³ããéããŠåå¿åã¬ã€ã€ãŒã®ç®çãææžåããããšã匷ããå§ãããŸãã
- ããŒã ã³ã©ãã¬ãŒã·ã§ã³ïŒåæ£ããŒã ã®å Žåãå¿åã¬ã€ã€ãŒã®äœ¿çšã«é¢ããæç¢ºãªèŠåãäžå¯æ¬ ã§ãããã€ãã©ã®ããã«äœ¿çšãããã«ã€ããŠåæããããšã§ã誀解ãé²ãããšãã§ããŸãã
- ååä»ãã¬ã€ã€ãŒãšã®çµ±åïŒå¿åã¬ã€ã€ãŒã¯ååä»ãã¬ã€ã€ãŒãšå ±åã§ããŸãããã ããããããã©ã®ããã«çžäºäœçšããããçè§£ããããšãéèŠã§ããå¿åã¬ã€ã€ãŒã®åªå é äœã¯ãååä»ãã¬ã€ã€ãŒããã³ä»ã®å¿åã¬ã€ã€ãŒã«å¯Ÿããäœçœ®ã«ãã£ãŠæ±ºå®ãããŸãã
- ãªãã¡ã¯ã¿ãªã³ã°ïŒãããžã§ã¯ãã®é²åã«äŒŽããç¹ã«ãããã®ã¹ã¿ã€ã«ã®ã¹ã³ãŒããŸãã¯éèŠæ§ãå¢ããŠããå Žåã¯ãããåªããçµç¹ã®ããã«å¿åã¬ã€ã€ãŒãååä»ãã¬ã€ã€ãŒã«å€æããå¿ èŠãããå ŽåããããŸãã
äŸïŒå¿åã¬ã€ã€ãŒã䜿çšããã°ããŒãã«ãã¶ã€ã³ã·ã¹ãã ã®æ§é å
è€æ°ã®å°åã§äœ¿çšãããŠãããã¶ã€ã³ã·ã¹ãã ãåããã°ããŒãã«eã³ããŒã¹ãã©ãããã©ãŒã ãæ³åããŠã¿ãŠãã ãããå¿åã¬ã€ã€ãŒãCSSã¢ãŒããã¯ãã£ã«ã©ã®ããã«è²¢ç®ã§ãããã以äžã«ç€ºããŸãã
ãããžã§ã¯ãæ§é ïŒæŠå¿µïŒïŒ
- åºæ¬ã¬ã€ã€ãŒïŒã°ããŒãã«ãªã»ãããã¿ã€ãã°ã©ãã£ãã«ã©ãŒãã¬ããã
- ã¬ã€ã¢ãŠãã¬ã€ã€ãŒïŒã°ãªããã·ã¹ãã ãã¹ããŒã·ã³ã°ãŠãŒãã£ãªãã£ãã¬ã¹ãã³ã·ããã¬ãŒã¯ãã€ã³ãã
- ã³ã³ããŒãã³ãã¬ã€ã€ãŒïŒãã¿ã³ããã©ãŒã ãããã²ãŒã·ã§ã³ãã«ãŒããªã©ã®ã¹ã¿ã€ã«ã
- ããŒãã¬ã€ã€ãŒïŒå°ååºæã®èŠèŠçãªããªãšãŒã·ã§ã³ïŒäŸïŒç°ãªãåœã®ã«ã©ãŒã¹ããŒã ïŒã
- ãŠãŒãã£ãªãã£ã¬ã€ã€ãŒïŒå¯èŠæ§ãé 眮ãªã©ã®ãã«ããŒã¯ã©ã¹ã
CSSå®è£ ïŒèª¬æïŒïŒ
/* ----- Global Base Styles (Anonymous Layer 1) ----- */
@layer {
*, *::before, *::after {
box-sizing: border-box;
}
body {
font-family: var(--font-family-primary, Arial, sans-serif);
color: var(--color-text-primary, #333);
background-color: var(--color-background, #fff);
line-height: 1.5;
}
:root {
--font-family-primary: 'Roboto', sans-serif;
--color-text-primary: #2c3e50;
--color-background: #ecf0f1;
--color-primary: #3498db;
--color-secondary: #2ecc71;
}
}
/* ----- Global Layout Styles (Anonymous Layer 2) ----- */
@layer {
.container {
width: 90%;
max-width: 1400px;
margin-left: auto;
margin-right: auto;
padding-left: 15px;
padding-right: 15px;
}
.grid {
display: grid;
gap: 1rem;
}
/* Responsive adjustments */
@media (min-width: 768px) {
.container {
width: 85%;
}
.grid {
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
}
}
/* ----- Component Styles (Anonymous Layer 3) ----- */
@layer {
.button {
display: inline-block;
padding: 0.75rem 1.5rem;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 1rem;
transition: background-color 0.3s ease;
}
.button--primary {
background-color: var(--color-primary);
color: white;
}
.button--primary:hover {
background-color: #2980b9;
}
.card {
background-color: white;
padding: 1.5rem;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
}
/* ----- Region-Specific Theme Overrides (Anonymous Layer 4) ----- */
/* Example: Applying a different primary color for a specific region */
/* This layer would be conditionally loaded based on user location or settings */
@layer {
/* Hypothetical CSS for a 'region-nordic' theme */
.theme-nordic .button--primary {
background-color: #007bff; /* A different blue */
}
.theme-nordic .button--primary:hover {
background-color: #0056b3;
}
.theme-nordic body {
font-family: 'Verdana', sans-serif;
}
}
/* ----- Utility Styles (Anonymous Layer 5) ----- */
@layer {
.u-text-center {
text-align: center;
}
.u-margin-bottom-medium {
margin-bottom: 1.5rem;
}
}
ãã®äŸã§ã¯ïŒ
- ååã®ãªã
@layerã«ãŒã«ã¯ãåºæ¬ã¹ã¿ã€ã«ãã¬ã€ã¢ãŠããã³ã³ããŒãã³ããããŒããªãŒããŒã©ã€ãããŠãŒãã£ãªãã£ã«å¯ŸããŠåå¥ã®ã¬ã€ã€ãŒã广çã«äœæããŸãã - é æ¬¡å®£èšã«ãããåºæ¬ã¹ã¿ã€ã«ãæãäœãåªå é äœãæã¡ã次ã«ã¬ã€ã¢ãŠããã³ã³ããŒãã³ããããŒããæåŸã«ãŠãŒãã£ãªãã£ãç¶ããŸãã
- ããã«ãããã³ã³ããŒãã³ãã¯åºæ¬ã¹ã¿ã€ã«ãç¶æ¿ããã¬ã€ã¢ãŠãã¯ã³ã³ããŒãã³ãã®é 眮ã«åœ±é¿ãäžããããŒãã¯è€éãªç¹ç°æ§ã®æŠããªãã«ã³ã³ããŒãã³ããŸãã¯åºæ¬ã¹ã¿ã€ã«ãç°¡åã«ãªãŒããŒã©ã€ãã§ããŸãããŠãŒãã£ãªãã£ã¯ã©ã¹ã¯æåŸã«ãããããè¿ éãªãªãŒããŒã©ã€ãã®ããã«é«ãåªå é äœãæã€å¯èœæ§ããããŸãã
- CSSã«ã¹ã¿ã ããããã£ïŒå€æ°ïŒã䜿çšãããšãã¡ã³ããã³ã¹æ§ãšããŒãèšå®æ©èœãåäžããã¬ã€ã€ãŒã·ã¹ãã ãšèª¿åããŠåäœããŸãã
.theme-nordicã¹ã¿ã€ã«ã®æ¡ä»¶ä»ãããŒãã¯ãã¢ããªã±ãŒã·ã§ã³ããžãã¯ã«åºã¥ããŠç°ãªãå¿åã¬ã€ã€ãŒãé©çšãŸãã¯é€å€ã§ããæ¹æ³ã瀺ããŠãããå°åãŸãã¯æ©èœåºæã®ã¹ã¿ã€ã«ã管çããããã®ã¯ãªãŒã³ãªæ¹æ³ãæäŸããŸãã
CSSã¬ã€ã€ãŒãšå¿åã¬ã€ã€ãŒã®å°æ¥
CSSã«ã¹ã±ãŒãã¬ã€ã€ãŒã¢ãžã¥ãŒã«ã¯ãŸã æ¯èŒçæ°ããããã®æ¡çšã¯å¢å ããŠããŸããããå€ãã®éçºè ãšããŒã ãã¬ã€ã€ãŒãæ¡çšããã«ã€ããŠãååä»ãã¬ã€ã€ãŒãšå¿åã¬ã€ã€ãŒã®äž¡æ¹ã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹ãåŒãç¶ã確ç«ãããŸããååã®ãªãé æ¬¡ã¬ã€ã€ãŒãäœæããæ©èœã¯ãååä»ãã¬ã€ã€ãŒã®ããæ§é åãããã¢ãããŒããè£å®ããCSSã管çããããã®æè»ãªæ¹æ³ãæäŸããŸãã
ã°ããŒãã«éçºããŒã ã®å Žåãå¿åã¬ã€ã€ãŒã®äœ¿ç𿹿³ãšææãå«ãCSSã¢ãŒããã¯ãã£ã®æç¢ºãªæŠç¥ãæ¡çšãããšãã³ãŒãã®å質ãå€§å¹ ã«åäžããæ°ããéçºè ã®ãªã³ããŒãã£ã³ã°æéãççž®ãããããå ç¢ã§ã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³ãä¿èšŒãããŸãã
æ¢åã®æ¹æ³è«ãšã®ã¬ã€ã€ãŒã®çµ±å
BEMïŒãããã¯ãèŠçŽ ãã¢ãã£ãã¡ã€ã¢ïŒïŒã¬ã€ã€ãŒã¯BEMãšé£æºã§ããŸããããšãã°ãåºæ¬ã¬ã€ã€ãŒã«ã¯äžè¬çãªèŠçŽ ã®ã¹ã¿ã€ã«ãå«ãŸããBEMèŠåã§å®çŸ©ãããã³ã³ããŒãã³ãã¬ã€ã€ãŒã¯ããããã¯ãèŠçŽ ãããã³ã¢ãã£ãã¡ã€ã¢ã®ç¹å®ã®ã¹ã¿ã€ã«ãåŠçããŸããããã«ãããã«ã¹ã±ãŒã管çãåœåèŠåããåé¢ãããŸãã
ãŠãŒãã£ãªãã£ãã¡ãŒã¹ãCSSïŒäŸïŒTailwind CSSïŒïŒãŠãŒãã£ãªãã£ãã¡ãŒã¹ããã¬ãŒã ã¯ãŒã¯ã¯ãå€ãã®å ŽåããœãŒã¹ã®é åºãšç¹ç°æ§ã«å€§ããäŸåããŠããŸãããã¬ã€ã€ãŒã䜿çšããŠããã®ãããªãã¬ãŒã ã¯ãŒã¯ãçµ±åããããã³ã¢ã¹ã¿ã€ã«ã管çãããã§ããŸããããšãã°ããã¬ãŒã ã¯ãŒã¯ã®åºæ¬ã¹ã¿ã€ã«ã®å¿åã¬ã€ã€ãŒãšãã«ã¹ã¿ã ãŠãŒãã£ãªãã£ã¯ã©ã¹ã®å¥ã®ã¬ã€ã€ãŒãäœæããŠããŠãŒãã£ãªãã£ã«å¿ èŠãªåªå é äœã確ä¿ã§ããŸãã
CSS-in-JSïŒCSSãåçã«çæãããœãªã¥ãŒã·ã§ã³ã®å Žåãã¬ã€ã€ãŒãçµ±åããŠåºåã管çã§ããŸããçæãããã¬ã€ã€ãŒã®é åºã¯ãäºæž¬å¯èœãªã¹ã¿ã€ã«ãç¶æããããã«éèŠã«ãªããŸãã
çµè«
CSS @layer å¿åã¯ãCSSéçºè
ã®ããŒã«ãããã«åŸ®åŠã§ãããªãã匷åãªè¿œå æ©èœãæäŸããŸãããããã®ååã®ãªãã¬ã€ã€ãŒãäœæããã³ç®¡çããæ¹æ³ãçè§£ããããšã§ãç¹ã«ã°ããŒãã«ãããžã§ã¯ãã®ã³ã³ããã¹ãã§ã¯ãããŒã ã¯ããæŽçãããäºæž¬å¯èœã§ãã¡ã³ããã³ã¹å¯èœãªã¹ã¿ã€ã«ã·ãŒããå®çŸã§ããŸããååä»ãã¬ã€ã€ãŒã¯æç€ºçãªæ§é ãæäŸããŸãããå¿åã¬ã€ã€ãŒã¯é 次ã¹ã¿ã€ã«ã®é åºä»ããšå
éšçµç¹ã®æè»æ§ãæäŸããŸãã
ã«ã¹ã±ãŒãã¬ã€ã€ãŒïŒå¿åããªã¢ã³ããå«ãïŒãåãå
¥ããããšã¯ãããå
ç¢ã§ã¹ã±ãŒã©ãã«ãªããã³ããšã³ãã¢ãŒããã¯ãã£ãžã®äžæ©ã§ããWebãè€éããå¢ãç¶ããã«ã€ããŠãã«ã¹ã±ãŒãã«ç§©åºãããããããŒã«ã¯ãŸããŸã䟡å€ãé«ãŸããŸãããã®ã¬ã€ãã§èª¬æãããŠããååãé©çšããããšã§ãäžçäžã®éçºè
ã¯CSS @layerã®å¯èœæ§ãæå€§éã«æŽ»çšããŠãããåªããããã管çãããããããã¡ã³ããã³ã¹å¯èœãªWebãšã¯ã¹ããªãšã³ã¹ãæ§ç¯ã§ããŸãã
ãããžã§ã¯ãã§@layerã®å®éšãç¶ããæŽå¯ãã°ããŒãã«ãªéçºè
ã³ãã¥ããã£ãšå
±æããCSSã®ãã¹ããã©ã¯ãã£ã¹ã®ç¶ç¶çãªé²åã«è²¢ç®ããŠãã ããã